package com.www.pagingdemo.model

import androidx.room.Entity
import androidx.room.PrimaryKey
import com.google.gson.annotations.SerializedName

/**
 * Github repo的不可变模型类，它包含关于存储库的所有信息。
 * 这种类型的对象是从Github API接收的，因此所有字段都使用序列化的名称进行注释。
 * 这个类还定义了Room repos表，其中repo id是主键。
 * @author MilkCoder
 * @date 2021-09-22
 */
@Entity(tableName = "repos")
data class Repo(
    @PrimaryKey @field:SerializedName("id") val id: Long,
    @field:SerializedName("name") val name: String,
    @field:SerializedName("full_name") val fullName: String,
    @field:SerializedName("description") val description: String?,
    @field:SerializedName("html_url") val url: String,
    @field:SerializedName("stargazers_count") val stars: Int,
    @field:SerializedName("forks_count") val forks: Int,
    @field:SerializedName("language") val language: String?,
)
